Behavioural Types for Actor Systems
نویسنده
چکیده
Recent mainstream programming languages such as Erlang or Scala have renewed the interest on the Actor model of concurrency. However, the literature on the static analysis of actor systems is still lacking of mature formal methods. In this paper we present a minimal actor calculus that takes as primitive the basic constructs of Scala’s Actors API. More precisely, actors can send asynchronous messages, process received messages according to a pattern matching mechanism, and dynamically create new actors, whose scope can be extruded by passing actor names as message parameters. Drawing inspiration from the linear types and session type theories developed for process calculi, we put forward a behavioural type system that addresses the key issues of an actor calculus. We then study a safety property dealing with the determinism of finite actor communication. More precisely, we show that well typed and balanced actor systems are (i) deadlock-free and (ii) any message will eventually be handled by the target actor, and dually no actor will indefinitely wait for an expected message.
منابع مشابه
Variable Structure Behavioural Controller for Multi-agent Systems
In previous papers authors have considered agents as inertia-less self driven particles and designed a flocking algorithm. Application of this algorithm to agents with considerable inertial characteristics needs a behavioural controller. The controller uses the local information and helps every agent to imitate the desired behaviour as a member of the flocking frame which covers the main is...
متن کاملDagstuhl Seminar 17051 Theory and Applications of Behavioural Types
This report documents the programme and the outcomes of Dagstuhl Seminar 17051 “Theory and Applications of Behavioural Types”. Behavioural types describe the dynamic aspects of programs, in contrast to data types, which describe the fixed structure of data. Perhaps the most well-known form of behavioural types is session types, which are type-theoretic specifications of communication protocols....
متن کاملMixing Metaphors: Actors as Channels and Channels as Actors
Channeland actor-based programming languages are both used in practice, but the two are often confused. Languages such as Go provide anonymous processes which communicate using buffers or rendezvous points—known as channels—while languages such as Erlang provide addressable processes—known as actors—each with a single incoming message queue. The lack of a common representation makes it difficul...
متن کاملBehavioural types for non-uniform memory accesses
Concurrent programs executing on NUMA architectures consist of concurrent entities (e.g. threads, actors) and data placed on different nodes. Execution of these concurrent entities often reads or updates states from remote nodes. The performance of such systems depends on the extent to which the concurrent entities can be executing in parallel, and on the amount of the remote reads and writes. ...
متن کاملBehavioural Prototypes
Concurrent objects andmultiparty compatibility. Data types describe values; behavioural types such as multiparty session types [4] and typestate [3] describe interactions. Here we introduce a simple actor language and show how multiparty compatibility [1] can be used to statically type-check systems of concurrent objects whose interfaces evolve dynamically in response to messages. Our program i...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- CoRR
دوره abs/1206.1687 شماره
صفحات -
تاریخ انتشار 2012